Pour aller plus loin (Ancien programme) - ST2S/STD2A

L'algorithmique

Exercice 1 : Initiation - Quatre variables, une lecture, deux calculs enchainées

On considère l'algorithme ci-dessous :

\(a\)\(7 + x\)
\(b\)\(5 \times x\)
\(c\)\(a + b\)

Si \(x=6\), quelle est la valeur finale de \(c\) ?

Exercice 2 : Initiation - Trois variables, une lecture, deux calculs enchainées - Python

On considère l'algorithme ci-dessous :

N = int(input('Rentrez la valeur de N : '))

a = N + 5
b = a + 2

print(b)

Si l'utilisateur entre la valeur \(N=7\), quelle est la valeur affichée en sortie ?

Exercice 3 : PGCD - Algorithme d'Euclide (inspiré par Bac S Antilles-Guyane 2015 pour spé)

Pour deux entiers naturels non nuls \(f\) et \(t\), on note \(\operatorname{r}{\left (f,t \right )}\) le reste dans la division euclidienne de \(f\) et \(t\). On considère l'algorithme suivant :

   \(y\)\(\operatorname{r}{\left (f,t \right )}\)
   Tant que \(y \neq 0\) :
   \(f\)\(t\)
   \(t\)\(y\)
   \(y\)\(\operatorname{r}{\left (f,t \right )}\)
   Afficher « \(t\) »
[A]Si ??? :
   Afficher « \(f\) et \(t\) sont premiers entre eux »

Faire fonctionner cet algorithme avec \(f=20\) et \(t=14\) en indiquant les valeurs de \(f\), \(t\) et \(y\) à chaque étape.

{"data": [["20", "?", "?"], ["14", "?", "?"], ["?", "?", "?"]], "header_left": ["f", "t", "y"]}

Cet algorithme donne en sortie le PGCD des entiers naturels non nuls \(f\) et \(t\). Par quelle expression doit on compléter la ligne [A] pour qu’il indique si deux entiers naturels non nuls \(f\) et \(t\) sont premiers entre eux ou non.

Exercice 4 : Resultat de test Si/Sinon - Python

On considère l'algorithme ci-dessous :

a = float(input('Rentrez la valeur de a : '))

b = -a + 4
c = 4*a
a = 4*a
if b > c:
    b = a*c
else:
    b = a - b

print(b)

Si l'utilisateur entre la valeur \(a=1\), quelle est la valeur affichée en sortie ?

Exercice 5 : PGCD - Algorithme d'Euclide (inspiré par Bac S Antilles-Guyane 2015 pour spé) - Python

Pour deux entiers naturels non nuls \(t\) et \(z\), on note \(\operatorname{r}{\left (t,z \right )}\) le reste dans la division euclidienne de \(t\) et \(z\). On considère l'algorithme suivant :

import r

t = int(input('Rentrez la valeur de t : '))
z = int(input('Rentrez la valeur de z : '))

n = r(t, z)
while n != 0:
    t = z
    z = n
    n = r(t, z)
print(z)
if ???:
    print('t et z sont premiers entre eux')
else:
    print('t et z ne sont pas premiers entre eux')

Faire fonctionner cet algorithme avec \(t=47\) et \(z=25\) en indiquant les valeurs de \(t\), \(z\) et \(n\) à chaque étape.

{"header_left": ["t", "z", "n"], "data": [["47", "?", "?", "?"], ["25", "?", "?", "?"], ["?", "?", "?", "?"]]}

Cet algorithme donne en sortie le PGCD des entiers naturels non nuls \(t\) et \(z\). Par quelle expression doit on compléter la condition ??? pour qu’il indique si deux entiers naturels non nuls \(t\) et \(z\) sont premiers entre eux ou non.

False